#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<unordered_set>
using namespace std;
const int N = 1010;
unordered_set<double> ans;
int n, x0, y00;
bool flag = false;
int main()
{
    cin >> n >> x0 >> y00;
    for (int i = 0; i < n; i++)
    {
        int x, y;
        cin >> x >> y;
        double dy = y - y00, dx = x - x0;
        if (dx == 0) flag = true;
        else ans.insert(dy / dx);
    }
    cout << ans.size() + flag << endl;
    return 0;
}